package com.ququ.syb.common.constant;

/**
 * Created by chenglinfu on 2016/6/21.
 *
 */
public class SsdbKeyConstant {
    public static final String ACCOUNT_ID = "accountid";//accountid
    //账户手续费
    public static final String ACCOUNT_COMMISSION="accountcommission:";//账户支付手续费
    public static final String ACCOUNT_WITHDRAWCOMMISSION = "accountwithdrawcommission:";   //账户提现手续费
    //令牌表
    public static final String ACCESSTOKEN="accesstoken:";//表名
    public static final String A_ACCESS_TOKEN="accesstoken:";//令牌

    //应用手续费
    public static final String APP_COMMISSION="appcommission:";//应用支付手续费
    public static final String APP_WITHDRAW_COMMISSION = "appwithdrawcommission:";  //应用提现手续费

    //应用通道分配表
    public static final String APP_CHANNEL="appchannel:";

    //主键表
    public static final String LAST_BANK_ACCOUNT_INFO_ID="LastBankAccountInfoID";//子账户主键
    //密码表
    public static final String PASSWORD="password:";//表名
    public static final String P_PASSWORD="loginpassword";//登录密码
    public static final String P_PAY_PASSWORD="paypassword";//支付密码
    public static final String P_WITHDRAW_PASSWORD="withdrawpassword";//提现密码

    //子账户银行卡表
    public static final String BANK_ACCOUNT_INFO="bankaccountinfo";//表名
    public static final String B_ID="id";
    public static final String B_BANK_ACCOUNT_NO="bankaccountno";//银行账户号码
    public static final String B_BANK_NAME="bankname";//开户行
    public static final String B_BANK_ACCOUNT_NAME="bankaccountname";//银行账户名称
    public static final String B_BANK_ACCOUNT_TYPE="bankaccounttype";//银行卡账户类型
    public static final String B_CARD_TYPE="cardtype";//银行卡类别
    public static final String B_BANK_PROVINCE="bankprovince";//开户行省份
    public static final String B_BANK_CITY="bankcity";//开户行城市
    public static final String B_CARD_HOLDER_MOBILE="cardholdermobile";//持卡人手机号码
    public static final String B_CARD_HOLDER_IDCARD="cardholderidcard";//持卡人身份证号码
    public static final String B_CHANNEL_BANKACCOUNT_ID="channelbankaccountid";//第三方支付通道ID
    public static final String B_CREATE_TIME="createtime";//创建时间
    public static final String B_BANK_MSG_ID="bankmsgid";//mysql中银行信息表id
    public static final String B_STATUS="status";//状态
    public static final String B_IS_PAY_DEFAULT="ispaydefault";//是否缺省支付账户
    public static final String B_IS_WITHDRAW_DEFAULT="iswithdrawdefault";//是否缺省支付账户
    public static final String B_IS_PAY_BANK="ispaybank";//是否支付
    public static final String B_IS_WITHDRAW_BANK="iswithdrawbank";//是否支付
    public static final String B_ACCOUNT_BANK="accountbank";//银行支行
    public static final String B_BANK_CODE="bankcode";//银行编码
    public static final String B_JDQUICK_TOKEN="jdquicktoken";//银行支行

    //商户个人设置表
    public static final String ACCOUNT_SETTING="accountsetting:";//表名
    public static final String A_NO_SMSCODE_PAYLIMIT="nosmscodepaylimit";//免支付短信验证码额度
    public static final String A_NO_SMSCODE_WITHDRAWLIMIT="nosmscodewithdrawlimit";//免提现短信验证码额度
    public static final String A_NO_PASSWORD_PAYLIMIT = "nopaypasswordlimit";//免密支付

    //商户基础信息表
    public static final String ACCOUNT_INFO = "accountinfo:";//表名
    public static final String A_CUSTOMER_TYPE = "customertype";//客户类型
    public static final String A_NAME = "name";//客户负责人姓名
    public static final String A_IDCARD = "idcard"; //身份证号
    public static final String A_BUSINESS_LICENCE = "businesslicence";//营业执照号
    public static final String A_LEGAL_PERSON = "legalperson";//法人代表姓名
    public static final String A_COMPANY_NAME = "companyname";//企业名称
    public static final String A_COMPANY_ADDRESS = "companyaddress";//企业地址
    public static final String A_LINK_MAN = "linkman";//企业联系人姓名
    public static final String A_CREATE_TIME = "createtime";//账户创建时间
    public static final String A_LAST_MODIFY_TIME="lastmodifytime";//最后修改时间
    public static final String A_FROZEN="frozen";//账户冻结状态
    public static final String A_OPERATOR="operator";//账户创建操作员
    public static final String A_PAY_PASSWORD="paypassword";//支付密码
    public static final String A_OPERATOR_ID="operatorid";//操作员ID
    public static final String A_IS_FEECONCESSION="isfeeconcession";//是否启用了企业手续费率优惠
    public static final String A_APP_CODE="appcode";//应用编号
    public static final String A_IS_QUALIFICATION="isqualification";//是否完善了资质
    public static final String A_IS_SETTLE="issettle";//是否设置了结算
    public static final String A_INFO_VERSION="infoversion";//信息版本号
    public static final String A_STATUS="status";//状态
    public static final String A_ACCOUNT_NAME="accountname";//账户名
    public static final String A_MOBILE="mobile";//短信验证码手机号
    public static final String A_COMMISSION="commission";//账户手续
    public static final String A_BALANCE="balance";//账户余额缓存

    //资质信息表
    public static final String QUALIFICATION = "qualification:";//表名
    public static final String Q_TYPE = "type";//资质类型
    public static final String Q_BUSSINESS_LICENSE_URL = "bussinesslicense";//营业执照照片地
    public static final String Q_BANK_ACCOUNT_LICENSE_URL = "bankaccountlicense";//银行开户许可证
    public static final String Q_ORGCODEURL = "orgcode";//组织机构代码证
    public static final String Q_TAX_URL = "tax";//税务登记证照片
    public static final String Q_IDCARD_FRONT_URL = "idcardfront";//证件正面照片地
    public static final String Q_IDCARD_BACK_URL = "idcardback";//证件反面照片地
    public static final String Q_PERSON_PHOTO_URL = "personphoto";//手持身份证照片
    public static final String Q_BANK_CARD_FRONT_URL ="bankcardfront";//银行卡正面照片
    public static final String Q_AUDIT_STATUS = "auditstatus";//审核状态
    public static final String Q_INFO_VERSION = "infoversion";//信息版本号
    public static final String Q_BANK_ACCOUNT_NO = "bankaccountno";//银行卡号

    public static final String SMS = "sms:";

    //默认支付银行卡表
    public static final String DEFAULT_PAY_CARD="defaultpaycard:";//表名

    //默认提现银行卡表
    public static final String DEFAULT_WITHDRAW_CARD="defaultwithdrawcard:";//表名

    public static final String YEEPAY_SETTLE_CARDNO = "yeepaysettlecardno:";//易宝提现银行卡号

    public static final String YEEPAY_WITHDRAW_COMMISSION = "yeepaywithdrawcommission:";//标识当天易宝提现手续费转过没有 防止重复提现 重复倒贴手续费

    public static final String COLLECTION_ACCOUNTID = "collection:accountid";

    //系统返利特殊商户账户表（zset）
    public static final String PROFIT_ACCOUNT = "profitaccount";
    public static final String QUQUBAO_REDBAG_ACCOUNT = "ququbao:redbag:accountid";

    //银行代码名称各支付通道映射表
    public static final String BANK_CODE = "bankcode:"; //银行名称转代码对照表 bankcode:<bankname>
    public static final String BANK_CODE_MAP = "bankcodemap:";  //各通道银行代码与名称对照表 bankcodemap:<bankcode>

    //假节日与调休日集合表
    public static final String HOLIDAY_KEY = "holidays:";   //假节日表
    public static final String WORKINGDAY_KEY = "workingday:";  //调休日表

    //自动提现动态密钥
    public static final String WITHDRAW_DYNAMIC_TOKEN = "withdraw:token:";  //动态提现密钥
    
    public static final String CHECK_APPCODE_KEY="appaccess:controller:";
    
    public static final String PAY_CALLBACK_COUNT="pay:callback:count:";
    
    public static final String WITHDRAWAL_NOTIFY_COUNT="withdrawal:notify:count:";

    //存放信用卡有效期和信用卡CVV2码
    public static final String CREDIT_EXPIRY_DATE = "paybankcard:credit:expirydate:";
    public static final String CREDIT_CVV2 = "paybankcard:credit:cvv2:";
    public static final String CREDIT_CVV_SAVED_SWITCH = "paybankcard:credit:cvv2:saved";   //返回是否保存有效期CVV开关

    //通道支持的银行卡配置
    public static final String CHANNEL_BANK_CARDTYPE = "support:bank:channel:"; //支付支持的银行与卡类型
    public static final String CHANNEL_BANK_WITHDRAW = "withdraw:bank:channel:"; //通道提现支持的银行
    public static final String WITHDRAW_SUPPORT_BANK = "support:withdraw:bank"; //全局支持的提现银行卡

    //Web同步回调订单锁
    public static final String WEB_CALLBACK_TOKEN = "webcallback:token:tradenum:";

    //余额缓存
    public static final String BALANCE_CACHE = "balance";   //总余额缓存
    public static final String BALANCE_CACHE_CHANNEL = "balance:";  //通道余额缓存

    //独立余额设置
    public static final String CHANNEL_BALANCE_SETTING = "channel:standalone:balance:";

    //银行卡四要素检查结果
    public static final String VERIFY_BANKCARD = "bankcard:verified:";  //hash
    
    //微信刷卡支付同步回调处理队列计数key
    public static final String WX_SYNC_CALLBACK = "wx_sync_callback:";

    //默认T+1提现通道设置
    public static final String DEFAULT_WITHDRAW_CHANNEL = "withdraw:default:channelid";
    
    //支付宝条码支付查询次数计数key
    public static final String ALIPAY_BARCODE_CEHCK ="alipay_barcode_check:";
    
    //掌柜通支付参数
    public static final String ZGT_PAY_PARAM = "yeepay:zgt:pay:param:";

    //易宝提现到巫毒号码代付开关
    public static final String YEEPAY_WITHDRAW_PAYFOR = "yeepay:withdraw:payfor";

    //易宝提现代付到巫毒账户的bankid清单（临时解决方案）
    public static final String YEEPAY_WITHDRAW_TO_VOODOO_BANKID = "yeepay:withdraw:voodoo:bankid";  //zset

    //提现短信通知标记
    public static final String WITHDRAW_CALLBACK_SMS_NOTIFY = "withdraw:callback:sms:notify:";

    //新支付条码订单重复查询次数
    public static final String XZF_SCANORDER_REQUERY_TIMES = "xzf:scanorder:requery:times:";

    //福汇通代付订单重复查询次数
    public static final String FHTOTO_WITHDRAWORDER_REQUERY_TIMES = "fhtoto:withdraworder:requery:times:";

    //账户冻结清单（黑名单）
    public static final String FROZEN_ACCOUNT = "frozen:account";   //zset

    //系统全局是否允许支付和提现开关
    public static final String ALLOW_PAY = "allow:pay";

    public static final String ALLOW_WITHDRAW = "allow:withdraw";

    //黑名单
    public static final String BLACKLIST_MOBILE = "blacklist:mobile";   //zset

    public static final String BLACKLIST_IDCARD = "blacklist:idcard";   //zset

    //白名单
    public static final String WHITELIST_DIFFPAY_ACCOUNTID = "whitelist:quickpay:different:person:accountid"; //zset  非同人进出白名单（正式收款商户）

    //兴业银行
    public static final String SWIFTPASS_CITY_CODE = "swiftpass:city:code"; //Hash

    public static final String SWIFTPASS_BANK_CODE = "swiftpass:bank:code"; //hash

    public static final String SWIFTPASS_CONFIG_CIB_PAYTYPE_FEE = "swiftpass:config:cib:paytype:fee";   //hash, 兴业银行开通的支付通道与相应费率配置

    //浦发银行
    public static final String SWIFTPASS_CONFIG_SPDB_PAYTYPE_FEE = "swiftpass:config:spdb:paytype:fee";   //hash, 浦发银行开通的支付通道与相应费率配置


    //短信签名
    public static final String SMS_APPCODE_SIGNCODE = "sms:appcode:signcode";   //hash,短信签名与应用代码对照表

    public static final String SWIFTPASS_WXPUBLIC_ISRAW = "swiftpass:wxpublic:israw:";  //微信公众号订单是否原生订单

    public static final String WITHDRAW_NO_COMMISSION = "withdraw:nocommission:";   //提现订单免手续费
    public static final String DIRECT_CLEAR_WITHDRAW_NO_COMMISSION = "directclear:withdraw:nocommission:";   //直清提现订单免手续费
    public static final String DIRECT_CLEAR_WITHDRAW_COMMISSION = "directclear:withdraw:commission:";   //直清提现订单免手续费

    //中茂通道自动结算相关定义
    public static final String A_BALANCE_401_D0 = "balance:401:D0"; //401通道D0余额
    public static final String A_BALANCE_401_D1 = "balance:401:D1"; //401通道D1余额
    public static final String A_BALANCE_401_FROZEN = "balance:401:frozen"; //401通道冻结余额

    public static final String ZHONGMAO_RECONCILIATION_D0 = "reconciliation:401:D0:";   //中茂D0结算对账完成标志
    public static final String ZHONGMAO_RECONCILIATION_D1 = "reconciliation:401:D1:";   //中茂D1结算对账完成标志

    public static final String ZHONGMAO_SETTLEMENT_D0_ACCOUNTID = "zhongmao:settlement:D0:accountid";   //中茂D0结算账户zset
    public static final String ZHONGMAO_SETTLEMENT_D1_ACCOUNTID = "zhongmao:settlement:D1:accountid";   //中茂D1结算账户zset
    public static final String ZHONGMAO_SETTLEMENT_D1_COMPLETED = "zhongmao:settlement:D1:completed:";   //中茂通道D1结算完成标志
    public static final String ZHONGMAO_WITHDRAW_D1_PREFLOW = "zhongmao:withdraw:D1:preflow:";   //中茂D1提现预占Hash
    public static final String ZHONGMAO_WITHDRAW_T1 = "zhongmao:withdraw:t1:";  //中茂提现订单T0或T1标志
    public static final String ZHONGMAO_WITHDRAW_ALL_D0T1 = "zhongmao:withdraw:all:d0t1";  //中茂提现订单强制T0或T1标志
    public static final String ZHONGMAO_NO_D0_SETTLEMENT_DATE = "zhongmao:settlement:D0:no:date";   //免D0结算日期
    public static final String ZHONGMAO_NO_D1_SETTLEMENT_DATE = "zhongmao:settlement:D1:no:date";   //免D0结算日期
    public static final String ZHONGMAO_SETTLEMENT_D1_COMPLETED_TIME = "zhongmao:settlement:D1:completed:time:";    //中茂D1结算时间
    public static final String ZHONGMAO_FROZEN_BALANCE = "zhongmao:frozen:balance:";    //中茂冻结余额(结算余额小于这个数时即认为结算完成)
    public static final String ZHONGMAO_WITHDRAW_BANKCARD_AMOUNT = "zhongmao:withdraw:amount:";     //中茂代付单卡每天出款总额,用于额度控制，+卡号+日期

    public static final String ZHONGMAO_SMS_PARAM = "zhongmao:sms:param:";        //中茂416通道支付卡是否已经绑卡，首次支付成功设为1
    public static final String ZHONGMAO_FIRST_PAY = "zhongmao:firstpay:";       //中茂416通道支付订单是否首次支付，由p0211接口传入
    public static final String ZHONGMAO_PAYCARD_BIND_418 = "zhongmao:418:bind:";        //中茂418通道支付卡是否已经绑卡，首次支付成功设为1
    public static final String ZHONGMAO_PAYCARD_BIND_416 = "zhongmao:416:bind:";        //中茂416通道支付卡是否已经绑卡，首次支付成功设为1
    public static final String ZHONGMAO_BIND_418_PARAM = "zhongmao:418:bindparam:";        //中茂418通道绑卡参数
    public static final String ZHONGMAO_MERCHANT_418 = "zhongmao:418:merchant:";            //中茂418订单所使用的子商户信息
    //提现通道日限额
    public static final String QUOTA_WITHDRAW_TOTAL = "quota:withdraw:total:";      //日限

    //德立信快捷支付页面
    public static final String MASGET_UNIONPAY_HTML = "masget:unionpay:html:";      //德立信支付网页缓存

    //福汇通805快捷支付页面
    public static final String FHTOTO_805PAY_HTML = "fhtoto:805pay:html:";      //福汇通805通道支付网页缓存

    //通用快捷支付页面
    public static final String QUICK_WAP_HTML = "quick:wap:html:";

    //云天三四要素校验
    public static final String YUNTIAN_VERIFIED4 = "yuntian:verified4:";    //云天四要素校验标志
    public static final String YUNTIAN_VERIFIED3 = "yuntian:verified3:";    //云天三要素校验标志

    //畅捷绑卡编号
    public static final String CHANPAY_CARDNO = "chanpay:cardnumber:";      //银行卡号：绑卡ID
    public static final String CHANPAY_BINDCARD = "chanpay:bankcard:orderid:";  //绑卡订单Id：银行卡号
    public static final String CHANPAY_PAYNO = "chanpay:payno:";    //支付订单平台流水号
    public static final String CHANPAY_TRADENUM = "chanpay:tradenum:";  //支付平台流水号反查订单号

    //自动结算处理设置
    public static final String SETTLE_CHANNEL_MAP = "settle:channel:map";   //多通道合并到一个通道结算出款，Hash
    public static final String SETTLE_CHANNELS = "settle:channels";     //需要结算的通道清单，ZSET

    public static final String WITHDRAW_QUOTA_ROLLBACK = "withdraw:quota:rollback:";    //提现订单日限回滚标志

    //新蓝海子商户
    public static final String LANHAI_ACCOUNT = "lanhai:account:";      //新蓝海账户

    //汇享子商户
    public static final String HUIXIANG_QUICK_ACCOUNT = "huixiang:quick:account:";      //汇享账户

    //商户开通的通道缓存
    public static final String ACCOUNT_PAY_CHANNEL = "paychannel:account:";     //开通的通道缓存Hash

    //收款宝页面数据保存
    public static final String SKB_SMS_PARAMS = "skb:sms:tradenum:";
    public static final String SKB_CONFIRM_PARAMS = "skb:confirm:";

    //余额变动锁
    public static final String LOCK_ACCOUNT_CHANNEL_BALANCE_ADD = "lock:accountid:channel:addbalance:";

    //p0211重复执行锁
    public static final String LOCK_PAYED_TRADENUM = "lock:payed:tradenum";

    //天下快捷开通子商户状态
    public static final String TIANXIA_ACCOUNT = "tianxia:account:";
    public static final String TIANXIA_PAY_AMOUNT = "tianxia:pay:amount:";

    //通联IPAY绑卡状态
    public static final String ALLIN_IPAY_BIND_CARD = "allin:ipay:bind:";     //支付卡绑卡状态与相关参数，Hash
    public static final String ALLIN_IPAY_PAYORDER = "allin:ipay:payorder:";     //快捷支付订单状态与相关参数，Hash
    public static final String ALLIN_IPAY_PAY_SMS = "allin:ipay:pay:sms:";     //快捷支付订单状态与相关参数，Hash

    //易宝亿企通快捷绑卡参数
    public static final String YOP_PAY_PARAM = "yop:pay:params:";
    public static final String YOP_PAY_MERCHANT = "yop:pay:merinfo:";
    public static final String YOP_ORDER_NO = "yop:pay:orderid:";       //易宝统一订单号

    //平安见证宝
    public static final String PAB_SMS_IDFLOW = "pab:sms:idflow:";      //短信验证码序号
    public static final String PAB_PAYORDER_SEQNO = "pab:pay:seq:";     //交易流水号

    //多通道共享余额表
    public static final String SHARE_BALANCE = "share:balance";         //共享余额表

    //小通分期订单终端类型
    public static final String ALLIN_XTFQ_TERMTYPE = "allin:xtfq:termtype:";
    public static final String ALLIN_XTFQ_PERIOD = "allin:xtfq:period:";    //分期的期数
    public static final String ALLIN_XTFQ_PAYDATE = "allin:xtfq:pay:date:";     //订单支付日期
    public static final String ALLIN_XTFQ_PAYTIME = "allin:xtfq:pay:time:";     //订单支付时间
    public static final String ALLIN_XTFQ_AMOUNT = "allin:xtfq:amount:";        //订单金额

    //担保中间账户
    public static final String ASSURE_ACCOUNTID = "assure:accountid";
    public static final String ASSURE_DELAYED = "assure:delayed:";          //订单已经延期过

    //快付通绑卡短信序号
    public static final String KFT_BIND_SEQ = "kft:bind:sms:seq:";      //快付通绑卡短信序号
    public static final String KFT_BIND_CARD = "kft:bind:card:";        //支付卡绑卡协议号
    public static final String KFT_VERIFY_CARD = "kft:verify:card:";    //提现卡是否已经三要素校验过
    public static final String KFT_PAY_PARAM = "kft:bind:param:";      //首次绑卡支付参数
    public static final String KFT_BIND_TRADENUM = "kft:bind:tradenum:";    //订单号对应绑的卡号

    //支付订单有效期(Redis中)
    public static final String PAYORDER_TIMEOUT = "payorder:timeout:";  //支付订单有效期
    public static final String PAYORDER_TIMEOUT_SET = "payorder:timeouts";  //支付订单集合

    //畅捷钱客绑卡
    public static final String CHANPAY_QK_BIND_CARD = "chanpay:qk:bind:card:";  //该卡号是否已经绑卡
    public static final String CHANPAY_QK_BIND_PARAM = "chanpay:qk:bind:param:";    //按订单号绑卡参数

    //掌柜通退款单尾号
    public static final String YEEPAY_ZGT_REFUND_TAIL = "yeepay:zgt:refund:tail:";

    //收款宝注册请求号
    public static final String YEEPAY_SKB_REGISTER = "yeepay:skb:register:";

    //福汇通短信验证码订单参数
    public static final String FHTOTO_PAYORDER_PARAM = "fhtoto:pay:param:";

}
